package ar.edu.unicen.exa.isistan.archassis.ia.seed;

import java.io.Serializable;

import ar.edu.unicen.exa.isistan.archassis.ia.api.db.JavaClass;





public class ImplementsSeed implements ISeed, Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String valor;
	
	private float peso = 1f;	

	private float importanciaSemilla = 1f;
	
	

	public float getImportanciaSemilla() {
		return importanciaSemilla;
	}

	public void setImportanciaSemilla(float importanciaSemilla) {
		this.importanciaSemilla = importanciaSemilla;
	}

	public float getPeso() {
		return peso;
	}

	public void setPeso(float peso) {
		this.peso = peso;
	}

	public String getValor() {
		return valor;
	}

	public void setValor(String valor) {
		this.valor = valor;
	}

	public ImplementsSeed(String valor) {
		this.valor = valor;
	}

	@Override
	public float eval(JavaClass c) {
		if (c.getImplementa().contains(this)){
			return (1f * peso);
		}
		return 0;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof ImplementsSeed){
			return valor.equals(((ImplementsSeed) obj).getValor());
		}
		return false;
	}

	@Override
	public void updatePeso(JavaClass c) {
		int pos = c.getImplementa().indexOf(this);
		if (pos != -1){
			peso = importanciaSemilla * peso;
		}
		
	}
	
	
	
}
